using Godot;


[GlobalClass]
public partial class State : Node
{
    protected StateMachine SM => GetParentOrNull<StateMachine>();

    [Signal]
    public delegate void SwitchEventHandler(StringName name);

    public virtual void Enter() { }
    public virtual void Exit() { }
    public virtual void Update(double delta) { }
    public virtual void FixedUpdate(double delta) { }
    public virtual void HandleInput(InputEvent @event) { }
}
